package com.ruoyi.pipe.cctv.domain;

import java.io.File;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.system.api.domain.SysFile;

/**
 * @author breeze
 * @date 2022-11-29
 */
public class BizPipeCctv extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** 主键 */
	@TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 管段编号 */
    @Excel(name = "管段编号")
    private String code;

    /** 管段类型 */
    @Excel(name = "管段类型")
    private String type;

    /** 管道材质 */
    @Excel(name = "管道材质")
    private String material;

    /** 管道直径 */
    @Excel(name = "管道直径")
    private String diameter;

    /** 管道埋深 */
    @Excel(name = "管道埋深")
    private String depth;

    /** 管段长度 */
    @Excel(name = "管段长度")
    private String length;

    /** 水流方向 */
    @Excel(name = "水流方向")
    private String direction;

    /** 时钟表示法 */
    @Excel(name = "时钟表示法")
    private String clockRepresentation;

    /** 管段建设时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "管段建设时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date buildTime;

    /** 预警年限 */
    @Excel(name = "预警年限")
    private Long warnTime;

    /** 维护周期 */
    @Excel(name = "维护周期")
    private Long repairPeriod;

    /** 排查周期 */
    @Excel(name = "排查周期")
    private Long troublehootPeriod;

    /** 检测日期 */
    @JsonFormat(pattern = "yyyy/MM/dd")
    @Excel(name = "检测日期", width = 30, dateFormat = "yyyy/MM/dd")
    private Date checkTime;

    /** 缺陷名称 */
    @Excel(name = "缺陷名称")
    private String defectName;

    /** 缺陷等级 */
    @Excel(name = "缺陷等级")
    private String defectLevel;

    /** 缺陷距离 */
    @Excel(name = "缺陷距离")
    private String defectDistance;

    /** 缺陷长度 */
    @Excel(name = "缺陷长度")
    private String defectLength;

    /** 缺陷描述 */
    @Excel(name = "缺陷描述")
    private String defectRemark;

    /** 视频文件路径 */
    @Excel(name = "视频文件路径")
    private String videoPath;
    private String videoFileIds;
    @TableField(exist = false)
    private SysFile videoFiles;

    /** 处理后的视频文件路径 */
    @Excel(name = "处理后的视频文件路径")
    private String videoPathProcessed;
    private String videoProcessedFileIds;
    @TableField(exist = false)
    private SysFile videoProcessedFiles;
    
    /** 图片文件路径 */
    @Excel(name = "图片文件路径")
    private String imagePath;
    private String imageFileIds;
    @TableField(exist = false)
    private SysFile imageFiles;
    
    /** 处理后的图片文件路径 */
    @Excel(name = "处理后的图片文件路径")
    private String imagePathProcessed;
    private String imageProcessedFileIds;
    @TableField(exist = false)
    private SysFile imageProcessedFiles;
    
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setType(String type) 
    {
        this.type = type;
    }

    public String getType() 
    {
        return type;
    }
    public void setMaterial(String material) 
    {
        this.material = material;
    }

    public String getMaterial() 
    {
        return material;
    }
    public void setDiameter(String diameter) 
    {
        this.diameter = diameter;
    }

    public String getDiameter() 
    {
        return diameter;
    }
    public void setDepth(String depth) 
    {
        this.depth = depth;
    }

    public String getDepth() 
    {
        return depth;
    }
    public void setLength(String length) 
    {
        this.length = length;
    }

    public String getLength() 
    {
        return length;
    }
    public void setDirection(String direction) 
    {
        this.direction = direction;
    }

    public String getDirection() 
    {
        return direction;
    }
    public void setClockRepresentation(String clockRepresentation) 
    {
        this.clockRepresentation = clockRepresentation;
    }

    public String getClockRepresentation() 
    {
        return clockRepresentation;
    }
    public void setBuildTime(Date buildTime) 
    {
        this.buildTime = buildTime;
    }

    public Date getBuildTime() 
    {
        return buildTime;
    }
    public void setWarnTime(Long warnTime) 
    {
        this.warnTime = warnTime;
    }

    public Long getWarnTime() 
    {
        return warnTime;
    }
    public void setRepairPeriod(Long repairPeriod) 
    {
        this.repairPeriod = repairPeriod;
    }

    public Long getRepairPeriod() 
    {
        return repairPeriod;
    }
    public void setTroublehootPeriod(Long troublehootPeriod) 
    {
        this.troublehootPeriod = troublehootPeriod;
    }

    public Long getTroublehootPeriod() 
    {
        return troublehootPeriod;
    }
    public void setCheckTime(Date checkTime) 
    {
        this.checkTime = checkTime;
    }

    public Date getCheckTime() 
    {
        return checkTime;
    }
    public void setDefectName(String defectName) 
    {
        this.defectName = defectName;
    }

    public String getDefectName() 
    {
        return defectName;
    }
    public void setDefectLevel(String defectLevel) 
    {
        this.defectLevel = defectLevel;
    }

    public String getDefectLevel() 
    {
        return defectLevel;
    }
    public void setDefectDistance(String defectDistance) 
    {
        this.defectDistance = defectDistance;
    }

    public String getDefectDistance() 
    {
        return defectDistance;
    }
    public void setDefectLength(String defectLength) 
    {
        this.defectLength = defectLength;
    }

    public String getDefectLength() 
    {
        return defectLength;
    }
    public void setDefectRemark(String defectRemark) 
    {
        this.defectRemark = defectRemark;
    }

    public String getDefectRemark() 
    {
        return defectRemark;
    }
    public void setVideoPath(String videoPath) 
    {
        this.videoPath = videoPath;
    }

    public String getVideoPath() 
    {
        return videoPath;
    }
    public void setVideoPathProcessed(String videoPathProcessed) 
    {
        this.videoPathProcessed = videoPathProcessed;
    }

    public String getVideoPathProcessed() 
    {
        return videoPathProcessed;
    }
    public void setImagePath(String imagePath) 
    {
        this.imagePath = imagePath;
    }

    public String getImagePath() 
    {
        return imagePath;
    }
    public void setImagePathProcessed(String imagePathProcessed) 
    {
        this.imagePathProcessed = imagePathProcessed;
    }

    public String getImagePathProcessed() 
    {
        return imagePathProcessed;
    }

    public String getVideoFileIds() {
		return videoFileIds;
	}

	public void setVideoFileIds(String videoFileIds) {
		this.videoFileIds = videoFileIds;
	}

	public String getVideoProcessedFileIds() {
		return videoProcessedFileIds;
	}

	public void setVideoProcessedFileIds(String videoProcessedFileIds) {
		this.videoProcessedFileIds = videoProcessedFileIds;
	}

	public String getImageFileIds() {
		return imageFileIds;
	}

	public void setImageFileIds(String imageFileIds) {
		this.imageFileIds = imageFileIds;
	}

	public String getImageProcessedFileIds() {
		return imageProcessedFileIds;
	}

	public void setImageProcessedFileIds(String imageProcessedFileIds) {
		this.imageProcessedFileIds = imageProcessedFileIds;
	}

	public SysFile getVideoFiles() {
		return videoFiles;
	}

	public void setVideoFiles(SysFile videoFiles) {
		this.videoFiles = videoFiles;
	}

	public SysFile getVideoProcessedFiles() {
		return videoProcessedFiles;
	}

	public void setVideoProcessedFiles(SysFile videoProcessedFiles) {
		this.videoProcessedFiles = videoProcessedFiles;
	}

	public SysFile getImageFiles() {
		return imageFiles;
	}

	public void setImageFiles(SysFile imageFiles) {
		this.imageFiles = imageFiles;
	}

	public SysFile getImageProcessedFiles() {
		return imageProcessedFiles;
	}

	public void setImageProcessedFiles(SysFile imageProcessedFiles) {
		this.imageProcessedFiles = imageProcessedFiles;
	}

	@Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("type", getType())
            .append("material", getMaterial())
            .append("diameter", getDiameter())
            .append("depth", getDepth())
            .append("length", getLength())
            .append("direction", getDirection())
            .append("clockRepresentation", getClockRepresentation())
            .append("buildTime", getBuildTime())
            .append("warnTime", getWarnTime())
            .append("repairPeriod", getRepairPeriod())
            .append("troublehootPeriod", getTroublehootPeriod())
            .append("checkTime", getCheckTime())
            .append("defectName", getDefectName())
            .append("defectLevel", getDefectLevel())
            .append("defectDistance", getDefectDistance())
            .append("defectLength", getDefectLength())
            .append("defectRemark", getDefectRemark())
            .append("videoPath", getVideoPath())
            .append("videoPathProcessed", getVideoPathProcessed())
            .append("imagePath", getImagePath())
            .append("imagePathProcessed", getImagePathProcessed())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("remark", getRemark())
            .toString();
    }
}